// 导入axios
import axios from "axios";
// 7. 更改 axios 默认配置
const _axios = axios.create({
    baseURL: "http://localhost:8080", // 将http://localhost:8080加在 url 前面
    withCredentials: true, // 跨域时是否携带 Cookie 等凭证，默认为 false
});
// 9. 拦截器
// 请求拦截器
_axios.interceptors.request.use(
    function (config) {
        // 比如在这里添加统一的 headers 、token
        config.headers = {
            Authorization: "aabbcc",
        };
        return config;
    },
    function (error) {
        return Promise.reject(error);
    }
);

// 响应拦截器
_axios.interceptors.response.use(
    function (response) {
        // 正常响应走这里
        return response;
    },
    function (error) {
        // 出现异常走这里，可以做全局异常处理
        if (error.response.status === 400) {
            console.log("请求参数不正确");
            return Promise.resolve(400); // 表示已解决异常
        } else if (error.response.status === 401) {
            console.log("跳转至登录页面");
            return Promise.resolve(401);
        } else if (error.response.status === 404) {
            console.log("资源未找到");
            return Promise.resolve(404);
        }
        return Promise.reject(error);
    }
);

export default _axios;